package com.itany.corejava.code08_常用类.string;

import java.util.Arrays;

/**
 * @author 石小俊
 * @date 2023年04月25日 15:48
 */
public class Test04_与其他类型的转换 {

    public static void main(String[] args) {
        System.out.println("******************字符串转char数组******************");
        String s = "Hello World";
        char[] cs = s.toCharArray();
        System.out.println(Arrays.toString(cs));
        System.out.println("******************char数组转字符串******************");
        String s2 = new String(cs);
        System.out.println(s2);

        System.out.println("******************字符串转byte数组******************");
        byte[] bytes = s.getBytes();
        System.out.println(Arrays.toString(bytes));
        System.out.println("******************byte数组转字符串******************");
        String s3 = new String(bytes);
        System.out.println(s3);

        System.out.println("******************字符串转int类型******************");
        // 如果字符串只包含数字,则正常转换
        String s4 = "123";
        // 如果字符串包含非数字,则报错
        // s4 = "123.45";
        int i = Integer.parseInt(s4);
        System.out.println(i);
        System.out.println("******************int类型转字符串******************");
        // 方式一:任意类型与字符串进行拼接后都会自动转换成字符串类型
        String s5 = i + "";
        // 方式二:字符串中提供了静态方法valueOf, 可以将基本数据类型转换成字符串。包含int类型
        s5 = String.valueOf(i);
        System.out.println(s5);


        System.out.println("******************字符串转double类型******************");
        String s6 = "123.45";
        // 不符合double格式,则报错
        // s6 = "123.45.67";
        double d = Double.parseDouble(s6);
        System.out.println(d);
        System.out.println("******************double类型转字符串******************");
        String s7 = d + "";
        System.out.println(s7);
        s7 = String.valueOf(d);
        System.out.println(s7);
    }

}
